「NAT」とは「Network Address Translation」…ネットワークアドレス変換機能と呼びます。
そしてこの機能を持ったデーモンを「natd」と呼びます。
この「natd」を導入する事により、
「FreeBSDにルーターに良く似た機能を持たせる」事になります。
なぜ「ルーターの機能」でなくて、「ルーターに良く似た機能」なのか?
それは、この機能はクライアントのIP変換を行って、外部(インターネット)に転送する機能だからです。
これは厳密には「ルーター」でなく「ゲートウェイ」の機能になります。
ローカルIPアドレスしか持たないクライアントPCが、この機能によってインターネットに出れるようにします。
一見するとルーターに良く似た機能です。
しかし、そこには「IPアドレス変換」といった作業が存在しており、
ルーターとは似て非なる機能となってます。
FreeBSDにおいて、これはIPファイアーウォール機能に大きく依存しており、
そのためにカーネルにIPファイアーウォール機能を持たせる必要がありました。
そしてもう1行あった[IPDIVERT]こそが、このnatdの機能です。
この機能はLinuxにおいて「IPマスカレード」と呼ばれている機能とほぼ同等のものです。
ネットワーク環境の設定、そしてカーネル再構築を終えているのであれば、
設定しなければならない項目は基本的に[/etc/rc.conf]のみです。
[/etc/rc.conf]を開きます。
設定はどこでもいいですのが…とりあえずfirewallが動作しているか確認しておきます。
firewall_enable="YES"
firewall_type="OPEN" |
この下に、
natd_enable="YES"
natd_interface="lnc0" |
この2行を書き込んで自鯖を再起動です。
この時、[natd_interface]に指定するのはWAN側のインターフェイスである事に注意してください。
サーバーのマシン構成によっては指定するドライバが変わります。
プロバイダのモデムと繋いでいるのであれば、
そのDHCPを使用しているモデム側…インターネット側のインターフェイスを指定してください。
最後に[/etc/rc.conf]に
この項目をあるのを確認して下さい。
この合計5行が、natdを動作させるのに必要最低限の項目となります。
これらの設定と確認を終えたら、保存して再起動をしてください。
これだけで、もうあなたの自鯖はNATルーターとして動作する事となります。
さて、クライアント側から動作を確認しましょう。
…ところで、ネームサーバーのIPアドレスがいまだに分かりませんよね…(汗)。
ここでは、自鯖に設定されている(プロバイダ側からDHCPで受け取っている)
ネームサーバーを使用したいと思います。
このネームサーバーの情報はFreeBSDでは
[/etc/resolv.conf]というファイルに書き込まれています。
おもむろにこのファイルの内容を確認します。
Server# less /etc/resolv.conf |
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx |
場合によっては[search]とか色々上にあると思いますが、それは無視して結構です。
必要な情報は[nameserver]の情報だけです。
ここに設定されているIPアドレスが、ネームサーバーのアドレスになります。
2つ以上ネームサーバーがある場合、
上が「プライマリネームサーバー」、下が「セカンダリネームサーバー」です。
もしこのプライマリネームサーバーに異常が起こって停止してしまった場合、
予備として用意されているセカンダリネームサーバーを見に行きます。
なので、今回はプライマリネームサーバーの情報さえあれば大丈夫だと思われます。
このIPアドレスをメモしておいてください。
念のためというのであれば、セカンダリのIPアドレスもメモっておきましょう。
そしてWindowsのTCP/IPネットワーク設定時に、
空白だった(もしくは自鯖のIP)ネームサーバーの項目にこれを登録、
設定を有効にします。
そして、どこでもいいですので、ブラウザでお気に入りのHomePageを見に行ってください。
…ちゃんと表示されましたか?
表示されたのであれば、これからはもうこの自鯖はルーターとして動作している事になります。
お疲れ様でした。
次は、望むのであれば、インターネットサーバーの設定です。
その前に、色々と寄り道してみるのもいいかも知れません…。
最後に、FreeBSDにおける、NATルーター作成の手順のおさらいをしておきます。
・FreeBSDのインストール…当然ですね(汗)。
・ネットワークの設定と確認…先にやっておいた方がいいです。トラブル時に解決が多少なりとも楽になります。
[/etc/rc.conf]に以下の2行があるか確認
ifconfig_lnc0="DHCP" #インターネット(モデム側)です
ifconfig_fxp0="inet 192.168.1.254 netmask
255.255.255.0" #ローカルネットワーク側です |
何度も説明してますが、いきなりこのページを見た方のためにもう一度。
この[lnc0]と[fxp0]の文字は、自分の環境に合わせて設定してください。
・カーネルに[IPFIREWALL]と[IPDIVERT]の機能を組み込んで再構築、インストール
options IPFIREWALL
options IPDIVERT |
・[/etc/rc.conf]に以下の5行の追加、もしくは確認
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="lnc0" #インターネット側インターフェイスですよ! |
以上です。
これで、クライアントPCからインターネット接続が可能になったと思います。
願わくば楽しいFreeBSDライフを!
[一つ上に戻る] |